package com.wxm.dom4j.base;

import java.io.File;
import java.io.InputStream;

/**
 * <p>
 *      Xml构建工厂
 * </p>
 *
 * @author: wxm
 * @Date: 2021/9/28
 */
public class XmlFactory {
    private XmlFactory(){}

    /**
     * 构建Xml
     * @param xmlClazz 想要构建的Xml类型
     * @param o 构建需要的对象
     * @return Xml
     */
    public Xml buildXml(Class<? extends Xml> xmlClazz, Object o){
        if (XmlFile.class.equals(xmlClazz)){
            if (o instanceof String){
                return new XmlFile((String) o);
            }else if (o instanceof File){
                return new XmlFile((File) o);
            }else if (o instanceof InputStream){
                return new XmlFile((InputStream) o);
            }
        }else if (XmlString.class.equals(xmlClazz)){
            return new XmlString((String) o);
        }
        return null;
    }
}
